module.exports = {
  apps: [
    {
      name: "fault-wizard",          // 进程名字，自定义
      cwd: "./",                     // 工作目录，默认当前目录
      script: "./app.js",
      instances: 1,                  // 实例数，1 表示单进程，改成 "max" 会根据 CPU 核数启动多进程
      exec_mode: "fork",             // "fork" 单进程；"cluster" 多进程（适合高并发）
      watch: true,                  // 生产环境建议 false；开发可以设 true 自动重启
      ignore_watch: ["node_modules", "logs"], // 忽略这些目录
      
      autorestart: true,             // 出错自动重启
      max_restarts: 10,              // 最大重启次数，避免频繁重启
      max_memory_restart: "500M",    // 内存超过 500M 自动重启
      env: {
        NODE_ENV: "development",     // 开发环境变量
        PORT: 3000
      },
      env_production: {
        NODE_ENV: "production",      // 生产环境变量
        PORT: 3000
      },
      error_file: "./logs/err.log",  // 错误日志
      out_file: "./logs/out.log",    // 普通日志
      log_date_format: "YYYY-MM-DD HH:mm:ss"
    }
  ]
};

// 启动项目：
// pm2 start ecosystem.config.js --env production

// 查看进程列表：
// pm2 list

// 查看日志：
// pm2 logs fault-wizard --lines 200

// 停止
// pm2 stop fault-wizard


// 开机自启：

// pm2 startup
// pm2 save

